Playback Updates

ABSTRACT

Embodiments are described herein that involve receiving, by a social-media computing system from a media playback system, playback data indicating media that is being played back by the media playback system, where the playback data comprises an indication of at least one zone of the media playback system in which the media is being played back; and based on the received playback data, updating social-media data in a social-media account, where the updated social-media data comprises an indication of the at least one zone in which the media is currently being played back.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is related to the following applications filed on thesame day as the present application, the contents of each areincorporated by reference herein: Attorney Docket No. 14-0904 (MBHB14-1613), entitled “Social Media Queue,” U.S. application Ser. No.______ filed Sep. 24, 2014; Attorney Docket No. 14-0906 (MBHB 14-1615),entitled “Indicating an Association Between a Social-Media Account and aMedia Playback System,” U.S. application Ser. No. ______ filed Sep. 24,2014; Attorney Docket No. 14-0907 (MBHB 14-1616), entitled “Associatinga Captured Image with a Media Item,” U.S. application Ser. No. ______filed Sep. 24, 2014; Attorney Docket No. 14-0908 (MBHB 14-1617),entitled “Media Item Context from Social Media,” U.S. application Ser.No. ______ filed Sep. 24, 2014; and Attorney Docket No. 14-0909 (MBHB14-1618), entitled “Social Media Friend Recommendation Based On PlaybackInformation,” U.S. application Ser. No. ______ filed Sep. 24, 2014.

FIELD OF THE DISCLOSURE

The disclosure is related to consumer goods and, more particularly, tomethods, systems, products, features, services, and other items directedto media playback or some aspect thereof.

BACKGROUND

Options for accessing and listening to digital audio in an out-loudsetting were severely limited until in 2003, when SONOS, Inc. filed forone of its first patent applications, entitled “Method for SynchronizingAudio Playback between Multiple Networked Devices,” and began offering amedia playback system for sale in 2005. The Sonos Wireless HiFi Systemenables people to experience music from virtually unlimited sources viaone or more networked playback devices. Through a software controlapplication installed on a smartphone, tablet, or computer, one can playwhat he or she wants in any room that has a networked playback device.Additionally, using the controller, for example, different songs can bestreamed to each room with a playback device, rooms can be groupedtogether for synchronous playback, or the same song can be heard in allrooms synchronously.

Given the ever growing interest in digital media, there continues to bea need to develop consumer-accessible technologies to further enhancethe listening experience.

BRIEF DESCRIPTION OF THE DRAWINGS

Features, aspects, and advantages of the presently disclosed technologymay be better understood with regard to the following description,appended claims, and accompanying drawings where:

FIG. 1 shows an example network configuration in which certainembodiments may be practiced;

FIG. 2 shows an example media playback system configuration;

FIG. 3 shows a functional block diagram of an example playback device;

FIG. 4 shows a functional block diagram of an example control device;

FIG. 5 shows an example controller interface;

FIG. 6 shows a flow diagram of an example method;

FIG. 7A shows an example display of a portion of a social-media account;

FIG. 7B shows another example display of a portion of a social-mediaaccount;

FIG. 8 shows a flow diagram of an example method.

The drawings are for the purpose of illustrating example embodiments,but it is understood that the inventions are not limited to thearrangements and instrumentality shown in the drawings.

DETAILED DESCRIPTION I. Overview

Examples described herein generally involve social-media updates basedon playback data. A social-media computing system may createsocial-media updates based on playback data received from a mediaplayback system. The update may be a message posted in a subscriber'ssocial-media account that may indicate what media is being played back,where (i.e., in which zone) in the media playback system the media isbeing played back, and when the media is being played back, among otherexamples. In some examples, the social-media computing system may alsodetermine advertising relevant to the social-media account based on theplayback data, and the advertising may then be displayed on a visualrepresentation of the social-media account.

As indicated above, examples provided herein are directed tofacilitating social-media updates based on playback data. In one aspect,a social-media computing system is provided. The social-media computingsystem includes: i) a processor; ii) a network interface; iii) anon-transitory computer-readable medium; and iv) program instructionsstored on the non-transitory computer-readable medium that, whenexecuted by the processor, cause the social-media computing system to:a) receive playback data indicating media that is being played back by amedia playback system, where the playback data comprises an indicationof at least one zone of the media playback system in which the media isbeing played back; and b) based on the received playback data, generatea playback message in a social-media account, where the playback messagecomprises an indication of the at least one zone in which the media iscurrently being played back.

In another aspect, a social-media computing system is provided. Thesocial-media computing system includes: i) a processor; ii) a networkinterface; iii) a non-transitory computer-readable medium; and iv)program instructions stored on the non-transitory computer-readablemedium that, when executed by the processor, cause the social-mediacomputing system to: a) receive playback data indicating media that isbeing played back by a media playback system that is linked to asocial-media account, where the playback data comprises an indication ofat least one zone of the media playback system in which the media isbeing played back; b) based on the received playback data indicating themedia, determine one or more advertisements relevant to the social-mediaaccount; and c) transmit, to a computing device affiliated with thesocial-media account, the one or more advertisements to facilitatedisplaying the one or more advertisements on a visual representation ofthe social-media account.

In yet another aspect, a method is provided. The method involves: i)receiving, by a social-media computing system from a media playbacksystem, playback data indicating media that is being played back by themedia playback system, where the playback data comprises an indicationof at least one zone of the media playback system in which the media isbeing played back; and 2) based on the received playback data, updatingsocial-media data in a social-media account, where the updatedsocial-media data comprises an indication of the at least one zone inwhich the media is currently being played back.

It will be understood by one of ordinary skill in the art that thisdisclosure includes numerous other embodiments.

II. Example Network Configuration

FIG. 1 shows an example network configuration 100 in which one or moreembodiments disclosed herein may be practiced or implemented. As shown,the network configuration 100 includes a wide area network (“WAN”) 110that communicatively couples a media system server 120, a social-mediaserver 130, one or more media playback systems 140 and 142, and one ormore computing devices 150, 152, and 154. It should be understood thatthe network configuration 100 may include more or fewer of the depictednetwork elements and/or may include various other network elements notshown in FIG. 1 (e.g. one or more media sources).

In examples, the WAN 110 may include the Internet and/or one or morecellular networks, among other networks. Although the WAN 110 is shownas one network, it should be understood that the WAN 110 may includemultiple, distinct WANs that are themselves communicatively linked. TheWAN 110 may facilitate transferring data between one or more of thevarious network elements shown in FIG. 1. In some examples, a givennetwork element may communicate with another network element through yetanother network element. For instance, the media playback systems 140and 142 may communicate with the social-media server 130 through themedia system server 120 and/or the computing devices 150-154 maycommunicate with the media system server 120 through the social-mediaserver 130. Other examples are also possible.

In some examples, certain network elements may be communicativelycoupled to other network elements via means other than the WAN 110. Inparticular, certain network elements may be communicatively coupled viaa local area network (e.g., via WiFi), a personal area network (e.g.,via Bluetooth), and/or other connections (e.g., via a wired connection).For example, the computing device 150 may communicate with the mediaplayback system 140 via a local area network (e.g., WiFi or perhapsaccording to a proprietary protocol). The computing device 150 may do sowhile operating as part of the media playback system 140 (e.g., as acontrol device).

The media system server 120 may include a network interface, aprocessing unit, and data storage, all of which may be communicativelylinked together by a system bus, network, or other connection mechanism.The network interface may facilitate data flow over the WAN 110 betweenthe media system server 120 and other network elements. The processingunit may include one or more general purpose processors and/or one ormore special purpose processors and may be integrated in whole or inpart with the network interface. The data storage may include anon-transitory computer-readable medium, such as optical, magnetic, orflash memory, and may be integrated in whole or in part with theprocessing unit. The data storage may also include program instructionsthat are executable by the processing unit to carry out variousoperations described herein.

Moreover, the media system server 120 may be configured to store and/oraccess various data related to media items and/or media playbacksystems. In examples, the media system server 120 may be configured tostore and/or access media items that are playable by a media playbacksystem. In such examples, the media system server 120 may be configuredto provide to a given media playback system media items (e.g., audio,video, and/or audio-visual files) or links, pointers, or other networklocation identifiers that are operable to locate the media items.Additionally, the media system server 120 may be configured to storeand/or access a cross-service linking database that facilitatesidentifying a media item from a first media source based on media iteminformation from a second media source.

The media system server 120 may also be configured to provide one ormore media applications to the media playback systems 140-142 and/or thecomputing devices 150-154. In some cases, a media application may beoperable to allow a computing device to control one or more mediaplayback systems. Additionally or alternatively, a media application maybe operable to allow a media playback system to interface with thesocial-media server 130 and playback media items based on social-mediadata. Further still, a media application may be operable to providefunctions similar to those provided by a social-media application,discussed in further detail below. Other example media applications arealso possible.

In examples, the media system server 120 may be configured to storeand/or access account information corresponding to a particular mediaplayback system. Such information, which may be collectively referredherein as a “playback system account”, may include system information(e.g., a household identifier (HHID) that is used to uniquely identifythe particular media playback system, identifiers of the devices withinthe particular system, the software version currently installed on theparticular media playback system, etc.) user information (e.g., name,date of birth, etc. of the user or users of the particular system),playback history information (e.g., media items previously played on theparticular system and perhaps timestamps indicating when such mediaitems were played), playback preference information (e.g., frequency atwhich a given media item is played, indications of media items that havebeen “liked” or “starred”, etc.), and linked-account information (e.g.,one or more social-media accounts that are linked to the particularmedia playback system). Other examples of information storable andaccessible by the media system server 120 are also possible.

In some examples, a playback system account may also include informationregarding the media services that provide media to the particular mediaplayback system. For example, the playback system account may includeone or more identifiers of media services that provide media to theparticular media playback system. Such information may be used by themedia system server 120, or perhaps the social media server 130, torecommend media services that a user might be interested in. Otherexamples are also possible.

In practice, the media system server 120 may store some or all of theabove-discussed information based on data received from media playbacksystems (e.g., the media playback systems 140 and 142), the social-mediaserver 130, and/or the computing devices 150-154. In examples, suchinformation may be provided to the media system server 120 when a mediaplayback system is first setup, when a media playback system plays backmedia items, when a media playback system receives data indicating userfeedback, and/or when a computing device runs a media application tocontrol a media playback system, among other scenarios. In any event,the media system server 120 may be configured to provide an option to auser to “opt in” so that the aforementioned information is collected bythe media system server 120.

The media system server 120 may be further configured to use theabove-discussed information to determine playback behaviors of users ofmedia playback systems, among other operations. Based on user playbackbehaviors, the media system server 120 may perform a number ofoperations that may add to the users' playback experience. For example,such information may be used to identify a trending artist and thenrecommend that trending artist to a user whose playback historyindicates he/she listens to other artists similar to the trendingartist. Other examples are certainly possible.

The social-media server 130 may include a network interface, aprocessing unit, and data storage, similar to those of the media systemserver 120 discussed above. The social-media server 130 may beconfigured to provide a social-media service to subscribers to theservice. For example, the social-media server 130 may be configured toestablish and/or maintain a social network. To this end, thesocial-media server 130 may be configured to host a social-media webpageaccessible over the WAN 110 by subscribers utilizing any suitablecomputing device, such as the computing devices 150-154.

In examples, the social-media server 130 may be configured to storesubscriber account information, which may be collectively referredherein as a “social-media account”. Such information may include thename, gender, birthdate, email address, and/or residential address,among other information, for each subscriber. Moreover, the social-mediaserver 130 may also be configured to link a given subscriber with aparticular media playback system. For example, when a user firstsubscribes to the social-media service, the user may provideinformation, such as a HHID, of a media playback system used by theuser, and the social-media server 130 may then store such information inthe account of the subscriber.

In addition to subscriber account information, the social-media server130 may also be configured to store respective subscriber profiles foreach subscriber. Broadly speaking, a subscriber profile may includeinformation regarding a subscriber's life, such as relationship status,photos, videos, career information, education information,hobbies/interests, locations visited (e.g., “check-in” locations),sports teams that the subscriber is a fan of, and/or movies, books,artists, TV shows, and the like that the subscriber previouslyexperienced and perhaps enjoyed. Such information may be presented on asubscriber profile in a number of manners, such as through subscriberposts, status updates, blogs, and other uploads.

The social network provided by the social-media server 130 may beconfigured so that subscribers may readily share and exchangeinformation, ideas, creations, and the like over a virtual community.The social-media service may provide to its subscribers, via asocial-media webpage, respective social-media information that isdetermined to be relevant to a particular subscriber. Such informationmay be provided in several manners (e.g., as a “news feed”, “timeline”,or the like) and may be personalized to fit the preferences of aparticular subscriber. In examples, this information may be continuouslyupdated to reflect the most current information that may be relevant toa particular subscriber.

A given subscriber may have certain “friends” that he/she chooses toassociate with on an example social network. After someone is deemed a“friend” with a given subscriber, the given subscriber may then receivesocial information that is uploaded, tagged, posted, or otherwiseprovided by the “friend.” For example, the given subscriber's news feedmay show a photograph that a “friend” captured and subsequently postedto the social-media webpage. Moreover, a listing of a given subscriber's“friends” may also be provided and that listing may include variousinformation in various forms reflecting a current “status” or the likefor a given “friend.” The given subscriber may also be able to“de-friend” someone that was previously deemed a “friend.”

In practice, the social-media server 130 may be configured to collectand analyze the information that is shared and exchanged over thesocial-media service. The social-media server 130 may be configured touse this collected information, as well as subscriber accountinformation, to determine for a particular subscriber other subscribersthat the particular subscriber might want to become “friends” with. Inthis way, the social-media server 130 may be configured to determine thepreferences and/or tastes of its subscribers and recommend othersubscribers with similar tastes.

Moreover, the social-media server 130 may be configured to provide oneor more social-media applications that are operable to providesubscribers access to the social-media service in a manner differentthan through a web browser. Such an application may be installed on acomputing device that is perhaps portable. In examples, a social-mediaapplication may further be operable to provide functions similar tothose provided by a media application, as discussed above.

Furthermore, a social-media application, and/or perhaps a mediaapplication, installed on a computing device may be operable todetermine what, if any, other applications are also installed on thecomputing device. An application that is operable in such a manner mayfacilitate linking a playback system account with a social-media accountand vice versa. In examples, after a social-media application installedon a computing device is linked to a playback system account, thesocial-media application may be operable to affect playback of media ata media playback system identified by the playback system account.

In examples, the network configuration 100 may also include one or moremedia service provider servers communicatively coupled to the WAN 110.In general, a given media service provider server may correspond to amedia service provider that provides streaming media, such as Internetradio and/or “on-demand” media, to the media playback systems 140-142and/or the computing devices 150-154. A user may subscribe to such aservice and register media devices (e.g., a media playback system and/orone or more computing devices) that may at times be used to access themedia service. A media service provider server may include similarcomponents as the servers discussed above.

Generally speaking, the media playback systems 140 and 142 may be anytype of media playback system configured to receive and transmit dataover a communication network and playback media items. In practice, eachmedia playback system 140 and 142 may include one or more playbackdevices, as well as additional system devices (e.g., a controllerdevice). An example media playback system is discussed in further detailbelow with reference to FIG. 2. It should be understood that the mediaplayback system 140 and the media playback system 142 may be configuredsimilarly or differently and/or may include similar or differentdevices.

In general, each computing device 150-154 may be any computing deviceconfigured to transfer data over a communication network. The computingdevices 150-154 may each include at least one processor, memory, agraphical display, an input interface, and a network interface, amongother components. In some instances, the graphical display and the inputinterface may be part of the same component (e.g., a touchscreen). Thenetwork interface may facilitate data flow between the computing deviceand another network element, for example, via the WAN 110. In someexamples, one or more of the computing devices 150-154 may also includea camera configured to capture image and/or video data. Examplecomputing devices include, but are not limited to, cellular phones,smartphones, PDAs, tablets, laptops, desktop computers, video gameconsoles, and smart TVs.

Moreover, the computing devices 150-154 may be configured to download,install, and operate an application, such as a media or social-mediaapplication. In examples, a given computing device may include a mediaapplication provided by the media system server 120 and a social-mediaapplication provided by the social media server 130, while anothercomputing device may include one or the other application but not both.

A computing device may be configured to run both applications at thesame time or individually. In some examples, the computing devices150-154 may provide to the media system server 120 and/or the socialmedia server 130 an indication of applications that are installed on aparticular computing device. For instance, the computing device 150 maybe configured to provide to the media system server 120 an indicationthat a social-media application is installed. Additionally oralternatively, the computing device 150 may be configured to provide tothe social-media server 130 an indication that a media application isinstalled and/or active or otherwise currently running.

Furthermore, a computing device may be configured to provide socialmedia information and/or media playback information to the media systemserver 120 and/or the social media server 130. Such information may thenbe used by the media system server 120 and/or the social media server130 to help perform some of the operations disclosed in further detailbelow.

III. Example Media Playback System

FIG. 2 shows an example configuration of a media playback system 200.The media playback system 200 as shown is associated with an examplehome environment having several rooms and spaces, such as for example, amaster bedroom, an office, a dining room, and a living room. As shown inthe example of FIG. 2, the media playback system 200 includes playbackdevices 202-224, control devices 226 and 228, and a wired or wirelessnetwork router 230.

Further discussions relating to the different components of the examplemedia playback system 200 and how the different components may interactto provide a user with a media experience may be found in the followingsections. While discussions herein may generally refer to the examplemedia playback system 200, technologies described herein are not limitedto applications within, among other things, the home environment asshown in FIG. 2. For instance, the technologies described herein may beuseful in environments where multi-zone audio may be desired, such as,for example, a commercial setting like a restaurant, mall or airport, avehicle like a sports utility vehicle (SUV), bus or car, a ship or boat,an airplane, and so on.

a. Example Playback Devices

FIG. 3 shows a functional block diagram of an example playback device300 that may be configured to be one or more of the playback devices202-224 of the media playback system 200 of FIG. 2. The playback device300 may include a processor 302, software components 304, memory 306,audio processing components 308, audio amplifier(s) 310, speaker(s) 312,and a network interface 314 including wireless interface(s) 316 andwired interface(s) 318. In one case, the playback device 300 may notinclude the speaker(s) 312, but rather a speaker interface forconnecting the playback device 300 to external speakers. In anothercase, the playback device 300 may include neither the speaker(s) 312 northe audio amplifier(s) 310, but rather an audio interface for connectingthe playback device 300 to an external audio amplifier or audio-visualreceiver.

In one example, the processor 302 may be a clock-driven computingcomponent configured to process input data according to instructionsstored in the memory 306. The memory 306 may be a tangiblecomputer-readable medium configured to store instructions executable bythe processor 302. For instance, the memory 306 may be data storage thatcan be loaded with one or more of the software components 304 executableby the processor 302 to achieve certain functions. In one example, thefunctions may involve the playback device 300 retrieving audio data froman audio source or another playback device. In another example, thefunctions may involve the playback device 300 sending audio data toanother device or playback device on a network. In yet another example,the functions may involve pairing of the playback device 300 with one ormore playback devices to create a multi-channel audio environment.

Certain functions may involve the playback device 300 synchronizingplayback of audio content with one or more other playback devices.During synchronous playback, a listener will preferably not be able toperceive time-delay differences between playback of the audio content bythe playback device 300 and the one or more other playback devices. U.S.Pat. No. 8,234,395 entitled, “System and method for synchronizingoperations among a plurality of independently clocked digital dataprocessing devices,” which is hereby incorporated by reference, providesin more detail some examples for audio playback synchronization amongplayback devices.

The memory 306 may further be configured to store data associated withthe playback device 300, such as one or more zones and/or zone groupsthe playback device 300 is a part of, audio sources accessible by theplayback device 300, or a playback queue that the playback device 300(or some other playback device) may be associated with. The data may bestored as one or more state variables that are periodically updated andused to describe the state of the playback device 300. The memory 306may also include the data associated with the state of the other devicesof the media system, and shared from time to time among the devices sothat one or more of the devices have the most recent data associatedwith the system. Other embodiments are also possible.

The audio processing components 308 may include one or moredigital-to-analog converters (DAC), an audio preprocessing component, anaudio enhancement component or a digital signal processor (DSP), and soon. In one embodiment, one or more of the audio processing components308 may be a subcomponent of the processor 302. In one example, audiocontent may be processed and/or intentionally altered by the audioprocessing components 308 to produce audio signals. The produced audiosignals may then be provided to the audio amplifier(s) 310 foramplification and playback through speaker(s) 312. Particularly, theaudio amplifier(s) 310 may include devices configured to amplify audiosignals to a level for driving one or more of the speakers 312. Thespeaker(s) 312 may include an individual transducer (e.g., a “driver”)or a complete speaker system involving an enclosure with one or moredrivers. A particular driver of the speaker(s) 312 may include, forexample, a subwoofer (e.g., for low frequencies), a mid-range driver(e.g., for middle frequencies), and/or a tweeter (e.g., for highfrequencies). In some cases, each transducer in the one or more speakers312 may be driven by an individual corresponding audio amplifier of theaudio amplifier(s) 310. In addition to producing analog signals forplayback by the playback device 300, the audio processing components 308may be configured to process audio content to be sent to one or moreother playback devices for playback.

Audio content to be processed and/or played back by the playback device300 may be received from an external source, such as via an audioline-in input connection (e.g., an auto-detecting 3.5 mm audio line-inconnection) or the network interface 314.

The network interface 314 may be configured to facilitate a data flowbetween the playback device 300 and one or more other devices on a datanetwork. As such, the playback device 300 may be configured to receiveaudio content over the data network from one or more other playbackdevices in communication with the playback device 300, network deviceswithin a local area network, or audio content sources over a wide areanetwork such as the Internet. In one example, the audio content andother signals transmitted and received by the playback device 300 may betransmitted in the form of digital packet data containing an InternetProtocol (IP)-based source address and IP-based destination addresses.In such a case, the network interface 314 may be configured to parse thedigital packet data such that the data destined for the playback device300 is properly received and processed by the playback device 300.

As shown, the network interface 314 may include wireless interface(s)316 and wired interface(s) 318. The wireless interface(s) 316 mayprovide network interface functions for the playback device 300 towirelessly communicate with other devices (e.g., other playbackdevice(s), speaker(s), receiver(s), network device(s), controldevice(s), controller device(s) within a data network the playbackdevice 300 is associated with) in accordance with a communicationprotocol (e.g., any wireless standard including IEEE 802.11a, 802.11b,802.11g, 802.11n, 802.11ac, 802.15, 4G mobile communication standard,and so on). The wired interface(s) 318 may provide network interfacefunctions for the playback device 300 to communicate over a wiredconnection with other devices in accordance with a communicationprotocol (e.g., IEEE 802.3). While the network interface 314 shown inFIG. 3 includes both wireless interface(s) 316 and wired interface(s)318, the network interface 314 may in some embodiments include onlywireless interface(s) or only wired interface(s).

In one example, the playback device 300 and one other playback devicemay be paired to play two separate audio components of audio content.For instance, playback device 300 may be configured to play a leftchannel audio component, while the other playback device may beconfigured to play a right channel audio component, thereby producing orenhancing a stereo effect of the audio content. The paired playbackdevices (also referred to as “bonded playback devices”) may further playaudio content in synchrony with other playback devices.

In another example, the playback device 300 may be sonicallyconsolidated with one or more other playback devices to form a single,consolidated playback device. A consolidated playback device may beconfigured to process and reproduce sound differently than anunconsolidated playback device or playback devices that are paired,because a consolidated playback device may have additional speakerdrivers through which audio content may be rendered. For instance, ifthe playback device 300 is a playback device designed to render lowfrequency range audio content (i.e. a subwoofer), the playback device300 may be consolidated with a playback device designed to render fullfrequency range audio content. In such a case, the full frequency rangeplayback device, when consolidated with the low frequency playbackdevice 300, may be configured to render only the mid and high frequencycomponents of audio content, while the low frequency range playbackdevice 300 renders the low frequency component of the audio content. Theconsolidated playback device may further be paired with a singleplayback device or yet another consolidated playback device.

By way of illustration, SONOS, Inc. presently offers (or has offered)for sale certain playback devices including a “PLAY:1,” “PLAY:3,”“PLAY:5,” “PLAYBAR,” “CONNECT:AMP,” “CONNECT,” and “SUB.” Any otherpast, present, and/or future playback devices may additionally oralternatively be used to implement the playback devices of exampleembodiments disclosed herein. Additionally, it is understood that aplayback device is not limited to the example illustrated in FIG. 3 orto the SONOS product offerings. For example, a playback device mayinclude a wired or wireless headphone. In another example, a playbackdevice may include or interact with a docking station for personalmobile media playback devices. In yet another example, a playback devicemay be integral to another device or component such as a television, alighting fixture, or some other device for indoor or outdoor use.

b. Example Playback Zone Configurations

Referring back to the media playback system 200 of FIG. 2, theenvironment may have one or more playback zones, each with one or moreplayback devices. The media playback system 200 may be established withone or more playback zones, after which one or more zones may be added,or removed to arrive at the example configuration shown in FIG. 2. Eachzone may be given a name according to a different room or space such asan office, bathroom, master bedroom, bedroom, kitchen, dining room,living room, and/or balcony. In one case, a single playback zone mayinclude multiple rooms or spaces. In another case, a single room orspace may include multiple playback zones.

As shown in FIG. 2, the balcony, dining room, kitchen, bathroom, office,and bedroom zones each have one playback device, while the living roomand master bedroom zones each have multiple playback devices. In theliving room zone, playback devices 204, 206, 208, and 210 may beconfigured to play audio content in synchrony as individual playbackdevices, as one or more bonded playback devices, as one or moreconsolidated playback devices, or any combination thereof. Similarly, inthe case of the master bedroom, playback devices 222 and 224 may beconfigured to play audio content in synchrony as individual playbackdevices, as a bonded playback device, or as a consolidated playbackdevice.

In one example, one or more playback zones in the environment of FIG. 2may each be playing different audio content. For instance, the user maybe grilling in the balcony zone and listening to hip hop music beingplayed by the playback device 202 while another user may be preparingfood in the kitchen zone and listening to classical music being playedby the playback device 214. In another example, a playback zone may playthe same audio content in synchrony with another playback zone. Forinstance, the user may be in the office zone where the playback device218 is playing the same rock music that is being playing by playbackdevice 202 in the balcony zone. In such a case, playback devices 202 and218 may be playing the rock music in synchrony such that the user mayseamlessly (or at least substantially seamlessly) enjoy the audiocontent that is being played out-loud while moving between differentplayback zones. Synchronization among playback zones may be achieved ina manner similar to that of synchronization among playback devices, asdescribed in previously referenced U.S. Pat. No. 8,234,395.

As suggested above, the zone configurations of the media playback system200 may be dynamically modified, and in some embodiments, the mediaplayback system 100 supports numerous configurations. For instance, if auser physically moves one or more playback devices to or from a zone,the media playback system 200 may be reconfigured to accommodate thechange(s). For instance, if the user physically moves the playbackdevice 202 from the balcony zone to the office zone, the office zone maynow include both the playback device 218 and the playback device 202.The playback device 202 may be paired or grouped with the office zoneand/or renamed if so desired via a control device such as the controldevices 226 and 228. On the other hand, if the one or more playbackdevices are moved to a particular area in the home environment that isnot already a playback zone, a new playback zone may be created for theparticular area.

Further, different playback zones of the media playback system 200 maybe dynamically combined into zone groups or split up into individualplayback zones. For instance, the dining room zone and the kitchen zone214 may be combined into a zone group for a dinner party such thatplayback devices 212 and 214 may render audio content in synchrony. Onthe other hand, the living room zone may be split into a television zoneincluding playback device 204, and a listening zone including playbackdevices 206, 208, and 210, if the user wishes to listen to music in theliving room space while another user wishes to watch television.

c. Example Control Devices

FIG. 4 shows a functional block diagram of an example control device 400that may be configured to be one or both of the control devices 226 and228 of the media playback system 200. As shown, the control device 400may include a processor 402, memory 404, a network interface 406, and auser interface 408. In one example, the control device 400 may be adedicated controller for the media playback system 200.

In another example, the control device 400 may be a network device onwhich media application software is installed, such as an iPhone™, iPad™or any other smart phone, tablet or network device (e.g., a networkedcomputer such as a PC or Mac™). In examples, the media application maytake the form of a media playback system controller application operableto control a media playback system. In yet another example, the mediaapplication may be operable to cause the control device 400 to obtainmedia (e.g., from a given media service provider associated with themedia application) independent from a media playback system and may alsobe operable as a control device of a media playback system.

The processor 402 may be configured to perform functions relevant tofacilitating user access, control, and configuration of the mediaplayback system 200. The memory 404 may be configured to storeinstructions executable by the processor 402 to perform those functions.The memory 404 may also be configured to store the media playback systemcontroller application software and other data associated with the mediaplayback system 200 and the user.

In one example, the network interface 406 may be based on an industrystandard (e.g., infrared, radio, wired standards including IEEE 802.3,wireless standards including IEEE 802.11a, 802.11b, 802.11g, 802.11n,802.11ac, 802.15, 4G mobile communication standard, and so on). Thenetwork interface 406 may provide a means for the control device 400 tocommunicate with other devices in the media playback system 200. In oneexample, data and information (e.g., such as a state variable) may becommunicated between control device 400 and other devices via thenetwork interface 406. For instance, playback zone and zone groupconfigurations in the media playback system 200 may be received by thecontrol device 400 from a playback device or another network device, ortransmitted by the control device 400 to another playback device ornetwork device via the network interface 406. In some cases, the othernetwork device may be another control device.

Playback device control commands such as volume control and audioplayback control may also be communicated from the control device 400 toa playback device via the network interface 406. As suggested above,changes to configurations of the media playback system 200 may also beperformed by a user using the control device 400. The configurationchanges may include adding/removing one or more playback devices to/froma zone, adding/removing one or more zones to/from a zone group, forminga bonded or consolidated player, separating one or more playback devicesfrom a bonded or consolidated player, among others. Accordingly, thecontrol device 400 may sometimes be referred to as a controller, whetherthe control device 400 is a dedicated controller or a network device onwhich media playback system controller application software isinstalled.

The user interface 408 of the control device 400 may be configured tofacilitate user access and control of the media playback system 200, byproviding a controller interface such as the controller interface 500shown in FIG. 5. The controller interface 500 includes a playbackcontrol region 510, a playback zone region 520, a playback status region530, a playback queue region 540, and an audio content sources region550. The user interface 500 as shown is just one example of a userinterface that may be provided on a network device such as the controldevice 400 of FIG. 4 (and/or the control devices 226 and 228 of FIG. 2)and accessed by users to control a media playback system such as themedia playback system 200. Other user interfaces of varying formats,styles, and interactive sequences may alternatively be implemented onone or more network devices to provide comparable control access to amedia playback system.

The playback control region 510 may include selectable (e.g., by way oftouch or by using a cursor) icons to cause playback devices in aselected playback zone or zone group to play or pause, fast forward,rewind, skip to next, skip to previous, enter/exit shuffle mode,enter/exit repeat mode, enter/exit cross fade mode. The playback controlregion 510 may also include selectable icons to modify equalizationsettings, and playback volume, among other possibilities.

The playback zone region 520 may include representations of playbackzones within the media playback system 200. In some embodiments, thegraphical representations of playback zones may be selectable to bringup additional selectable icons to manage or configure the playback zonesin the media playback system, such as a creation of bonded zones,creation of zone groups, separation of zone groups, and renaming of zonegroups, among other possibilities.

For example, as shown, a “group” icon may be provided within each of thegraphical representations of playback zones. The “group” icon providedwithin a graphical representation of a particular zone may be selectableto bring up options to select one or more other zones in the mediaplayback system to be grouped with the particular zone. Once grouped,playback devices in the zones that have been grouped with the particularzone will be configured to play audio content in synchrony with theplayback device(s) in the particular zone. Analogously, a “group” iconmay be provided within a graphical representation of a zone group. Inthis case, the “group” icon may be selectable to bring up options todeselect one or more zones in the zone group to be removed from the zonegroup. Other interactions and implementations for grouping andungrouping zones via a user interface such as the user interface 500 arealso possible. The representations of playback zones in the playbackzone region 520 may be dynamically updated as playback zone or zonegroup configurations are modified.

The playback status region 530 may include graphical representations ofaudio content that is presently being played, previously played, orscheduled to play next in the selected playback zone or zone group. Theselected playback zone or zone group may be visually distinguished onthe user interface, such as within the playback zone region 520 and/orthe playback status region 530. The graphical representations mayinclude track title, artist name, album name, album year, track length,and other relevant information that may be useful for the user to knowwhen controlling the media playback system via the user interface 500.

The playback queue region 540 may include graphical representations ofaudio content in a playback queue associated with the selected playbackzone or zone group. In some embodiments, each playback zone or zonegroup may be associated with a playback queue containing informationcorresponding to zero or more audio items for playback by the playbackzone or zone group. For instance, each audio item in the playback queuemay comprise a uniform resource identifier (URI), a uniform resourcelocator (URL) or some other identifier that may be used by a playbackdevice in the playback zone or zone group to find and/or retrieve theaudio item from a local audio content source or a networked audiocontent source, possibly for playback by the playback device.

In one example, a playlist may be added to a playback queue, in whichcase information corresponding to each audio item in the playlist may beadded to the playback queue. In another example, audio items in aplayback queue may be saved as a playlist. In a further example, aplayback queue may be empty, or populated but “not in use” when theplayback zone or zone group is playing continuously streaming audiocontent, such as Internet radio that may continue to play untilotherwise stopped, rather than discrete audio items that have playbackdurations. In an alternative embodiment, a playback queue can includeInternet radio and/or other streaming audio content items and be “inuse” when the playback zone or zone group is playing those items. Otherexamples are also possible.

When playback zones or zone groups are “grouped” or “ungrouped,”playback queues associated with the affected playback zones or zonegroups may be cleared or re-associated. For example, if a first playbackzone including a first playback queue is grouped with a second playbackzone including a second playback queue, the established zone group mayhave an associated playback queue that is initially empty, that containsaudio items from the first playback queue (such as if the secondplayback zone was added to the first playback zone), that contains audioitems from the second playback queue (such as if the first playback zonewas added to the second playback zone), or a combination of audio itemsfrom both the first and second playback queues. Subsequently, if theestablished zone group is ungrouped, the resulting first playback zonemay be re-associated with the previous first playback queue, or beassociated with a new playback queue that is empty or contains audioitems from the playback queue associated with the established zone groupbefore the established zone group was ungrouped. Similarly, theresulting second playback zone may be re-associated with the previoussecond playback queue, or be associated with a new playback queue thatis empty, or contains audio items from the playback queue associatedwith the established zone group before the established zone group wasungrouped. Other examples are also possible.

Referring back to the user interface 500 of FIG. 5, the graphicalrepresentations of audio content in the playback queue region 540 mayinclude track titles, artist names, track lengths, and other relevantinformation associated with the audio content in the playback queue. Inone example, graphical representations of audio content may beselectable to bring up additional selectable icons to manage and/ormanipulate the playback queue and/or audio content represented in theplayback queue. For instance, a represented audio content may be removedfrom the playback queue, moved to a different position within theplayback queue, or selected to be played immediately, or after anycurrently playing audio content, among other possibilities. A playbackqueue associated with a playback zone or zone group may be stored in amemory on one or more playback devices in the playback zone or zonegroup, on a playback device that is not in the playback zone or zonegroup, and/or some other designated device.

The audio content sources region 550 may include graphicalrepresentations of selectable audio content sources from which audiocontent may be retrieved and played by the selected playback zone orzone group. Discussions pertaining to audio content sources may be foundin the following section.

d. Example Audio Content Sources

As indicated previously, one or more playback devices in a zone or zonegroup may be configured to retrieve for playback audio content (e.g.according to a corresponding URI or URL for the audio content) from avariety of available audio content sources. In one example, audiocontent may be retrieved by a playback device directly from acorresponding audio content source (e.g., a line-in connection). Inanother example, audio content may be provided to a playback device overa network via one or more other playback devices or network devices.

Example audio content sources may include a memory of one or moreplayback devices in a media playback system such as the media playbacksystem 200 of FIG. 2, local music libraries on one or more networkdevices (such as a control device, a network-enabled personal computer,or a networked-attached storage (NAS), for example), streaming audioservices providing audio content via the Internet (e.g., the mediaservice servers 135-145), or audio sources connected to the mediaplayback system via a line-in input connection on a playback device ornetwork devise, among other possibilities.

In some embodiments, audio content sources may be regularly added orremoved from a media playback system such as the media playback system200 of FIG. 2. In one example, an indexing of audio items may beperformed whenever one or more audio content sources are added, removedor updated. Indexing of audio items may involve scanning foridentifiable audio items in all folders/directory shared over a networkaccessible by playback devices in the media playback system, andgenerating or updating an audio content database containing metadata(e.g., title, artist, album, track length, among others) and otherassociated information, such as a URI or URL for each identifiable audioitem found. Other examples for managing and maintaining audio contentsources may also be possible.

The above discussions relating to playback devices, controller devices,playback zone configurations, and media content sources provide onlysome examples of operating environments within which functions andmethods described below may be implemented. Other operating environmentsand configurations of media playback systems, playback devices, andnetwork devices not explicitly described herein may also be applicableand suitable for implementation of the functions and methods.

IV. Social-Media Updates Based on Playback Data

As discussed above, examples provided herein are directed tofacilitating social-media updates based on playback data.

For method 600 and 800 of FIGS. 6 and 8, and other processes and methodsdisclosed herein, the flowcharts show functionality and operation of onepossible implementation of present embodiments. In this regard, eachblock may represent a module, a segment, or a portion of program code,which includes one or more instructions executable by a processor forimplementing specific logical functions or steps in the process. Theprogram code may be stored on any type of computer-readable medium, forexample, such as a storage device including a disk or hard drive. Thecomputer-readable medium may include non-transitory computer-readablemedium, for example, such as computer-readable media that stores datafor short periods of time like register memory, processor cache andRandom Access Memory (RAM). The computer-readable medium may alsoinclude non-transitory media, such as secondary or persistent long termstorage, like read only memory (ROM), optical or magnetic disks,compact-disc read only memory (CD-ROM), for example. Thecomputer-readable media may also be any other volatile or non-volatilestorage systems. The computer-readable medium may be considered acomputer-readable storage medium, for example, or a tangible storagedevice. In addition, for the methods 600 and 800, and other processesand methods disclosed herein, each block in FIGS. 6 and 8 may representcircuitry that is wired to perform the specific logical functions in theprocess.

Furthermore, although the blocks are illustrated in sequential order,these blocks may also be performed in parallel, and/or in a differentorder than those described herein. Also, the various blocks may becombined into fewer blocks, divided into additional blocks, and/orremoved based upon the desired implementation.

For clarity, the methods may be described herein with reference to FIGS.7A and 7B. It should be understood, however, that this is for purposesof example and explanation only and that the operations of the methodsshould not be limited by these figures.

a. First Example Method to Facilitate Social-Media Updates Based onPlayback Data

At block 602, a social-media computing system may receive playback datafrom a media playback system indicating media that is being played backby the media playback system. The social-media computing system may be,for instance, a single computing device, such as a server, or it may bea collection of devices, such as multiple servers. For the purposes ofthe examples discussed below, the social-media computing device will bereferred to as the social-media server 130 shown in FIG. 1.

The media playback system may be, for instance, the media playbacksystem 200 shown in FIG. 2, although other media playback systems havingother configurations are also possible. In some examples, the mediaplayback system 200 may be linked to a social-media account. Forinstance, as discussed above, the media playback system 200 maycorrespond to a playback system account that is linked to thesocial-media account through a media and/or social-media application, orthrough communications between the social-media server 130 and a mediaplayback server, such as the media playback server 120, among otherexamples. Accordingly, in some instances the social-media server 130may, before receiving the playback data, link the social-media accountto the media playback system 200.

In this way, certain social-media activities related to the social-mediaaccount may affect playback of media by the media playback system 200.For example, social-media “friends” (e.g., subscribers whose accountsare within a social-media network of the linked social-media account)may contribute to a social-media playback queue that the media playbacksystem 200 may access and play media from. Other examples are alsopossible.

The playback data received by the social-media server 130 may include avariety of information regarding media that is being played back by themedia playback system 200. For example, the playback data may include anidentification of the media that is being played back, such as a songname, an artist name, an album name, and the like. In some examples, theplayback data may include a timestamp corresponding to the played backmedia. The timestamp may be, for instance, an indication of the time ofday that playback of the media began or perhaps ended. Other examplesare also possible.

The playback data may also include an indication of at least one zone ofthe media playback system 200 in which the media is being played back.For example, the playback data may indicate that the media is beingplayed back in a particular zone or zone group of the media playbacksystem 200, such as the Living Room zone or the Kitchen zone.

In some cases, the playback data may additionally or alternativelyinclude an indication of a playback queue in addition to or instead of asingle media item. For example, the indication of the playback queue mayindicate one or more media items from a playback queue that the mediaplayback system 200 is currently playing back. Such an indication mayindicate one or more media items from the playback queue that have yetto be played or that have previously been played or both.

In some examples, where the social-media account is linked with themedia playback system 200, the social-media account may have asocial-media playback queue linked with the social-media account. Thesocial-media playback queue may be accessible, for example, through asocial-media profile or wall or the like of the social-media account. Inany event, the indication of the playback queue may include anindication of a social-media playback queue that corresponds to thesocial-media account. The playback data may include other informationpertaining to the social-media account that is linked to the mediaplayback system 200 as well.

In examples, an indication of a social-media playback queue may take theform or otherwise include a selectable link or other network locationmechanism that is operable to direct a computing device or a mediaplayback system to the social-media playback queue. In particular, theselectable link may be configured to direct a media playback system to anetwork storage space that stores the social-media playback queue sothat the media playback system may play back media items from the queue.Moreover, the selectable link may also be configured to a direct acomputing device (such as any of the computing devices 150-154) to thesocial-media playback queue so that the computing device may display avisual representation of the social-media playback queue. A user maythen use the computing device to contribute to the social-media playbackqueue. Other examples are also possible.

At block 604, the social-media server 130 may, based on the receivedplayback data, update social-media data in the social-media account. Thesocial-media data may include the subscriber account information orsubscriber profile information discussed in the sections above, amongother examples.

For instance, updating the social-media data in the social-media accountbased on the playback data may involve the social-media server 130updating the subscriber profile, such as a profile picture of thesubscriber. For example, the subscriber may designate a specific profilephoto for use when playing back media in the media playback system 200,and the social-media server 130 may update the profile photo based onthe received playback data. Alternatively, the social-media server 130may temporarily replace the subscriber's profile photo with album artcorresponding to the played back media. As yet another example, thesocial-media server 130 may modify the subscriber's profile photo to adda banner or other indicia that indicates the playback of media, or toadd text overlaid on the profile photo that may indicate the name of themedia that is being played back. Other possibilities also exist.

After updating the subscriber profile, the social-media server 130 mayprovide data representing the updated subscriber profile to facilitatedisplaying a visual representation of the updated subscriber profile.For instance, the social-media server 130 may provide the data to acomputing device, such as the computing device 150 in FIG. 1, that maydisplay a visual representation of the profile via a web browser ofsocial-media application, among other possibilities.

As another example, updating the social-media data in the social-mediaaccount may additionally or alternatively involve the social-mediaserver 130 generating a playback message in the social-media account.The playback message may be, for instance, a status indicator, a blogpost, a timeline entry, a news feed item, among other messages in thesocial-media account that the subscriber may post or upload, which maythen be communicated over the social network. The generated playbackmessage may include the playback data discussed above, such as asubscriber name, a song identity, a playback queue name, and anindication of the at least one zone in which the media is currentlybeing played back. For example, the social-media server 130 may generatea status indicator for the social-media account that indicates that thesubscriber is listening to a given song in a given zone of thesubscriber's media playback system 200.

FIG. 7A shows an example of social-media account 700 as it might be atleast partially displayed via a web browser or a social-mediaapplication on a computing device, such as the computing device 150shown in FIG. 1. The social-media account 700 may include features suchas a menu 701 for navigating to other content in the account 700 and anews feed 702 that may provide information from other subscribers of thesocial network.

The social-media account 700 may also include a status field 703 wherethe subscriber may provide a status indicator. In this example, thesocial-media server 130 has, based on the received playback data,generated a status indicator that includes the playback message 704 “Nowlistening to Song Name C in the Kitchen.” Further, the social-mediaaccount 700 may include playback controls 705 corresponding to thelinked media playback system 200.

The news feed 702 of the social-media account 700 may display statusupdates and other posts from the accounts of the subscriber's “friends”as well as other information that the social-media server 130 determinesis relevant to the social-media account 700. For instance, FIG. 7A showsan example post 706 in which the subscriber's “friend” Friend 2 posted apicture to his or her social-media account, which was then displayed inthe subscriber's news feed 702.

FIG. 7A also shows an example wherein the subscriber's “friend” Friend 1is playing back media in a media playback system that is linked toFriend 1's social-media account. The social-media server 130 hasgenerated a status indicator playback message 707 in Friend 1'ssocial-media account. The playback message 707 is then, by virtue of thesubscriber and Friend 1 being “friends”, posted in the subscriber's newsfeed 702. The playback message 707 indicates that “Friend 1 is listeningto Song Name A in the Living Room.” Further, the playback message 707includes an indication of a timestamp 708, here “Time 1”, that maydenote the time of day that the media “Song Name A” began playing in theLiving Room zone of Friend 1's media playback system (e.g., 11:30 am).Alternatively, the timestamp 707 may indicate how long ago “Song Name A”began playing (e.g., three minutes ago).

In some cases, some or all of the social-media updates to a givensocial-media account that are based on playback data may be displayed ina separate page or tab of the social-media account. For instance, in anexample configuration (not shown) of the social-media account 700, thenews feed 702 might not include the playback messages 707 and 709.Rather, the news feed 702 may be limited to other types of messages andposts, such as the post 706. Accordingly, the playback messages may bedisplayed in a different feed, such as a “What My Friends Are Listeningto” feed. Other examples are also possible.

FIG. 7A also shows a playback message 709, “Friend 3 is listening toPlayback Queue B in the Office”, that includes an indication of aplayback queue as well as a timestamp 710 “Time 3.” For instance, thetimestamp 710 may indicate the time at which the most recent media itemin the playback queue began playback. In some examples, the playbackmessage 709 may be configured such that a “hover over” input, such as amouse over or a hovering touch input, over the playback message 709 or aportion thereof may provide additional information. As shown in FIG. 7A,such information may be displayed, for instance, in a pop-up window 711,based on the position of a hovering mouse cursor 712. Here, a portion ofthe playback message 709, “Playback Queue B”, is underlined, indicatingthat additional information is available. Other indications thatadditional information is available are also possible, includingdifferent colored text and the like.

The additional information in the pop-up window 711 may include anindication of media items in a playback queue that the media playbacksystem 200 is currently playing. In particular, the information mayinclude media items that have already played or have yet to play orboth. In the pop-up window 711, an icon of a speaker next to “Song NameX” indicates that Song Name X is currently being played back in theOffice zone of Friend 3's media playback system. Further, “Song Name W”is indicated in italics, which may indicate that Song Name W waspreviously played back, perhaps just prior to Song Name X. Additionally,pop-up window 711 includes an indication of “Song Name Y” just below theindication of Song Name X, which may indicate that Song Name Y is yet toplay in the playback queue, perhaps immediately following Song Name X.

In some examples, the playback message 709 may additionally oralternatively include a selectable link that, when selected, may cause anew window to appear that displays a visualization of the playbackqueue, which may be a social-media playback queue. Other examples arealso possible. Further, it should be understood that the just-discussedinformation may be displayed independent from any “hover over” orselection input.

Further, minimizing or expanding an additional window to view previouslyplayed or yet to be played media might not be limited to playbackmessages that indicate a playback queue. For example, the playbackmessage 707 shown in FIG. 7A may be configured such that an input asdiscussed above may show and/or hide additional information regardingthe media being played back by Friend 1's media playback system, if suchinformation is available. An input may provide an indication of one ormore media items that were most recently played, or upcoming media thatis next to play, among other examples.

As media is played back by the media playback system 200, the media maychange due to a given song ending, or the subscriber manually changingthe media, among other reasons. Thus, in some cases, the social-mediaserver 130 may receive second playback data indicating second media thatis being played back by the media playback system 200. Further, the zonein which the second media is played may be different, and therefore thesecond playback data may include an indication of at least one zone ofthe media playback system 200 in which the second media is being playedback.

Based on the received second data, the social-media server may updatethe playback message in the social-media account 130. In some cases, itmay be desirable to minimize the number of playback messages that aregenerated by the social-media server 130, so as not to cause anexcessive number of playback messages in the social-media account basedon every change in the played back media. Therefore, the social-mediaserver 130 may replace one or more of the indications of the media,zone, timestamp, etc. in the generated playback message with an updatedindication. In this way, the social-media server 130 may continuallyupdate the same playback message as new playback data is received.

FIG. 7B shows another example of the social-media account 700, hereshown at a time shortly after that shown in FIG. 7A. The status field703 includes an updated status indicator that includes the updatedplayback message 713 “Now listening to Song Name E in the Balcony.” Asshown in the playback message 713, the indication of the zone may beupdated in addition to the indication of the media.

Further, the playback message 707 in the news feed 702 has been updatedand is now shown as updated playback message 714. The indication of themedia has been replaced such that the playback message 714 now indicatesthat “Friend 1 is listening to Song Name D in the Living Room.” Theindication of the zone in which the media is being played back has notbeen updated in this example. However, the playback message 714 alsoincludes an updated indication of a timestamp 715, now indicating “Time5”, which may indicate the time that Song Name D began playing back.

In some cases, subscribers to the social-media network may comment on,reply to, “like”, or otherwise respond to a given playback message thatis posted in the subscriber's respective news feed. Accordingly, thesocial-media server 130 may receive responsive data that is responsiveto a given playback message. The social-media server 130 may then updatethe playback message based on the received responsive data. As shown inFIG. 7B, an additional message 716 has been appended to the playbackmessage 714 indicating “Friend 4 liked Song Name A at Time 4.” In thisway, responses or “likes” may indicate media that was previously playedin Friend 1's media playback system, and the corresponding time whenFriend 4 made his or her indication.

FIG. 7B also shows an updated playback message 717 indicating thatFriend 3 is listening to Playback Queue B. Here, neither the indicationof the playback queue nor the indication of the zone has been updated.However, the updated playback message 717 includes an updated timestamp718, “Time 6”, which may again indicate the time at which the mostrecent media item in the playback queue began playback. Further, apop-up window 719 may also be updated to reflect the current song in thequeue that is now playing, as well as an updated indication of previousand/or forthcoming media items, as discussed above.

In some examples, the updated playback message 717 and/or the pop-upwindow 719 may also indicate other updated information regarding theplayback queue, including changes to the queue. For example, whendisplayed, the pop-up window 719 may indicate media items that have beenadded to or removed from the queue. Other possibilities also exist.

b. Second Example Method to Facilitate Social-Media Updates Based onPlayback Data

At block 802, a social-media computing system may receive playback dataindicating media that is being played back in a media playback system.As above, the social-media computing system may be a social-media server130 and the media playback system may be the media playback system 200,although other examples are also possible. The media playback system 200may further be linked to a social-media account, as also discussedabove. Further, the playback data may include a variety of information,including one or more of the indications noted above with respect tomethod 600. Other examples are also possible.

At block 804, the social-media server 130 may, based on the receivedplayback data, determine one or more advertisements relevant to thesocial-media account. The one or more advertisements may be determinedbased on one or more components of the playback data, such as theprofile data of a subscriber whose social-media account is linked to themedia playback system 200, the time of day the media was played back,the zone or zones in which the media was played back, among otherpossibilities.

For example, the social-media server 130 may receive playback dataindicating that media is being played back in a given zone, such as theKitchen zone, at a given time, such as the early evening. Thesocial-media server 130 may then determine probable topics or activitiesthat may be relevant to that given zone and time combination, such as,in this example, cooking. Accordingly, the social-media server 130 maydetermine one or more advertisements related to cooking.

As another example, the social-media server 130 may receive playbackdata indicating that media from a country music genre is being playedback in the Balcony zone of the media playback system 200. Thesocial-media server 130 may then determine one or more advertisementsthat may be relevant to these indications, such as an advertisement foran outdoor country music concert. Numerous other examples exist forrelevant advertisements that may be determined, as well as the playbackdata on which the determination may be based.

In some cases, the social-media server 130 may determine one or moreadvertisements based not only on playback data that may be current, butalso on previously received playback data, which may include a previousindication of at least one zone of the media playback system 200 inwhich media was previously played back. For example, the social-mediaserver 130 may store a certain amount of received playback data inmemory for use in determining advertisements, such as all playback datareceived from the media playback system 200 in the preceding year.Alternatively, the playback data may be stored in the media playbacksystem 200 or the media server 120, either or both of which may providethe information to the social-media server 130. In any event, when thesocial-media server 130 determines one or more advertisements based onreceived playback data, it may do so based also on some or all of theprevious playback data, including previous indications of the zone(s) inwhich media was played back.

For instance, the social-media server 130 may base the determination ofadvertisements in part on a frequency at which media is played in agiven zone over a period of time. The social-media server 130 mayfurther determine correlations between aspects of the previous playbackdata and information in a subscriber's social-media account, includingthe subscriber's profile. The social-media server 130 may then based thedetermination of advertisements in part on the determined correlations.Other examples for how the social-media server 130 may analyze and/orutilize the playback data are also possible.

At block 806, the social-media server 130 may transmit, to a computingdevice affiliated with the social-media account, the determined one ormore advertisements to facilitate displaying the one or moreadvertisements on a visual representation of the social-media account.The computing device may be, for example, the computing device 150 shownin FIG. 1 having a web browser capable of displaying a visualrepresentation of the social-media account via a webpage. The computingdevice 150 may also include a social-media application for displaying avisual representation of the social-media account within theapplication. Examples of a visual representation of the social-mediaaccount 700, as they may be displayed on the computing device 150, areshown in FIGS. 7A-7B.

In both methods 600 and 800, the social-media server 130 receivesplayback data, at blocks 602 and 802, respectively, including anindication of at least one zone of the media playback system in whichthe media is being played back. In some cases, determining the one ormore advertisements at block 804 and transmitting the determined one ormore advertisements to facilitate their display on the social-mediaaccount at 806 may be included as additional blocks in the method 600,and may occur in addition to the social-media 130 updating social-mediadata as discussed above at block 604.

In the example shown in FIG. 7A, the social-media server 130 hasreceived playback data indicating media that is being played back by themedia playback system 200, and has updated the subscriber's social-mediadata by generating a playback message 704 in the status field 703 of thesocial-media account 700. Further, the social-media server 130 hasdetermined an advertisement 720 relevant to the social-media account 700based on the playback data, and has transmitted the advertisement 718,“Advertisement 1”, to the computing device 150 for display on the visualrepresentation of the social-media account 700.

In FIG. 7B, the social-media server 130 has received second playbackdata indicating second media that is being played back in a differentzone of the media playback system 200. In addition to generating theupdated playback message 709, the social-media server 130 has determinedan advertisement 721 relevant to the second playback data and hastransmitted the advertisement 721, “Advertisement 2”, to the computingdevice 150 for display on the visual representation of the social-mediaaccount 700.

It will be understood by one of ordinary skill in the art that thisdisclosure includes numerous other embodiments. While some examplesdescribed herein may refer to functions performed by given actors suchas “users”, “subscribers”, and/or other entities, it should beunderstood that this is for purposes of explanation only. The claimsshould not be interpreted to require action by any such example actorunless explicitly required by the language of the claims themselves.

VI. Conclusion

The description above discloses, among other things, various examplesystems, methods, apparatus, and articles of manufacture including,among other components, firmware and/or software executed on hardware.It is understood that such examples are merely illustrative and shouldnot be considered as limiting. For example, it is contemplated that anyor all of the firmware, hardware, and/or software aspects or componentscan be embodied exclusively in hardware, exclusively in software,exclusively in firmware, or in any combination of hardware, software,and/or firmware. Accordingly, the examples provided are not the onlyway(s) to implement such systems, methods, apparatus, and/or articles ofmanufacture.

As indicated above, examples provided herein are directed tofacilitating social-media updates based on playback data. In one aspect,a social-media computing system is provided. The social-media computingsystem includes: i) a processor; ii) a network interface; iii) anon-transitory computer-readable medium; and iv) program instructionsstored on the non-transitory computer-readable medium that, whenexecuted by the processor, cause the social-media computing system to:a) receive playback data indicating media that is being played back by amedia playback system, where the playback data comprises an indicationof at least one zone of the media playback system in which the media isbeing played back; and b) based on the received playback data, generatea playback message in a social-media account, where the playback messagecomprises an indication of the at least one zone in which the media iscurrently being played back.

In another aspect, a social-media computing system is provided. Thesocial-media computing system includes: i) a processor; ii) a networkinterface; iii) a non-transitory computer-readable medium; and iv)program instructions stored on the non-transitory computer-readablemedium that, when executed by the processor, cause the social-mediacomputing system to: a) receive playback data indicating media that isbeing played back by a media playback system that is linked to asocial-media account, where the playback data comprises an indication ofat least one zone of the media playback system in which the media isbeing played back; b) based on the received playback data indicating themedia, determine one or more advertisements relevant to the social-mediaaccount; and c) transmit, to a computing device affiliated with thesocial-media account, the one or more advertisements to facilitatedisplaying the one or more advertisements on a visual representation ofthe social-media account.

In yet another aspect, a method is provided. The method involves: i)receiving, by a social-media computing system from a media playbacksystem, playback data indicating media that is being played back by themedia playback system, where the playback data comprises an indicationof at least one zone of the media playback system in which the media isbeing played back; and 2) based on the received playback data, updatingsocial-media data in a social-media account, where the updatedsocial-media data comprises an indication of the at least one zone inwhich the media is currently being played back.

Additionally, references herein to “embodiment” means that a particularfeature, structure, or characteristic described in connection with theembodiment can be included in at least one example embodiment of aninvention. The appearances of this phrase in various places in thespecification are not necessarily all referring to the same embodiment,nor are separate or alternative embodiments mutually exclusive of otherembodiments. As such, the embodiments described herein, explicitly andimplicitly understood by one skilled in the art, can be combined withother embodiments.

The specification is presented largely in terms of illustrativeenvironments, systems, procedures, steps, logic blocks, processing, andother symbolic representations that directly or indirectly resemble theoperations of data processing devices coupled to networks. These processdescriptions and representations are typically used by those skilled inthe art to most effectively convey the substance of their work to othersskilled in the art. Numerous specific details are set forth to provide athorough understanding of the present disclosure. However, it isunderstood to those skilled in the art that certain embodiments of thepresent disclosure can be practiced without certain, specific details.In other instances, well known methods, procedures, components, andcircuitry have not been described in detail to avoid unnecessarilyobscuring aspects of the embodiments. Accordingly, the scope of thepresent disclosure is defined by the appended claims rather than theforgoing description of embodiments.

When any of the appended claims are read to cover a purely softwareand/or firmware implementation, at least one of the elements in at leastone example is hereby expressly defined to include a tangible,non-transitory medium such as a memory, DVD, CD, Blu-ray, and so on,storing the software and/or firmware.

We claim:
 1. A social-media computing system comprising: a processor; anetwork interface; a non-transitory computer-readable medium; andprogram instructions stored on the non-transitory computer-readablemedium that, when executed by the processor, cause the social-mediacomputing system to: receive playback data indicating media that isbeing played back by a media playback system, wherein the playback datacomprises an indication of at least one zone of the media playbacksystem in which the media is being played back; and based on thereceived playback data, generate a playback message in a social-mediaaccount, wherein the playback message comprises an indication of the atleast one zone in which the media is currently being played back.
 2. Thesocial-media computing system of claim 1, wherein the programinstructions, when executed by the processor, further cause thesocial-media computing system to: based on the received playback dataindicating the media, determine one or more advertisements relevant tothe social-media account; and transmit, to a computing device affiliatedwith the social-media account, the one or more advertisements tofacilitate displaying the advertisement on a visual representation ofthe social-media account.
 3. The social-media computing system of claim1, wherein the media is a first media, and wherein the programinstructions, when executed by the processor, further cause thesocial-media computing system to: receive second playback dataindicating second media that is being played back by the media playbacksystem, wherein the second playback data comprises an indication of atleast one zone of the media playback system in which the second media isbeing played back; and based on the received second playback data,update the playback message in the social-media account.
 4. Thesocial-media computing system of claim 3, wherein updating the playbackmessage in the social-media account comprises replacing the indicationof the at least one zone in which the first media is currently beingplayed back with an updated indication of the at least one zone in whichthe second media is currently being played back.
 5. The social-mediacomputing system of claim 1, wherein the social-media account is linkedto the media playback system.
 6. The social-media computing system ofclaim 1, wherein the playback data comprises a timestamp correspondingto the played back media, and wherein the playback message in thesocial-media account further comprises an indication of the timestamp.7. The social-media computing system of claim 1, wherein thesocial-media account comprises a subscriber profile, and wherein theprogram instructions, when executed by the processor, further cause thesocial-media computing system to: based on the received playback data,update the subscriber profile; and provide data representing the updatedsubscriber profile to facilitate displaying a visual representation ofthe subscriber profile.
 8. The social-media computing system of claim 7,wherein updating the subscriber profile comprises updating a profilepicture.
 9. The social-media computing system of claim 1, wherein theplayback message further comprises an identification of the media thatis currently being played back.
 10. The social-media computing system ofclaim 1, wherein the playback message further comprises an indication ofa playback queue associated with the at least one zone.
 11. Thesocial-media computing system of claim 10, wherein the indication of theplayback queue associated with the at least one zone comprisesidentification of at least one media item from the playback queue. 12.The social-media computing system of claim 10, wherein the at least onemedia item from the playback queue comprises one of a media item thathas yet to be played back or a media item that has previously beenplayed back.
 13. The social-media computing system of claim 10, whereinthe social-media account is linked with the media playback system, andwherein the indication of the playback queue associated with the atleast one zone comprises an indication of a social-media playback queuecorresponding to the social-media account.
 14. The social-mediacomputing system of claim 13, wherein the indication of the social-mediaplayback queue comprises a selectable link operable to direct acomputing device to the social-media playback queue.
 15. A social-mediacomputing system comprising: a processor; a network interface; anon-transitory computer-readable medium; and program instructions storedon the non-transitory computer-readable medium that, when executed bythe processor, cause the social-media computing system to: receiveplayback data indicating media that is being played back by a mediaplayback system that is linked to a social-media account, wherein theplayback data comprises an indication of at least one zone of the mediaplayback system in which the media is being played back; based on thereceived playback data indicating the media, determine one or moreadvertisements relevant to the social-media account; and transmit, to acomputing device affiliated with the social-media account, the one ormore advertisements to facilitate displaying the one or moreadvertisements on a visual representation of the social-media account.16. The social-media computing system of claim 15, wherein determiningthe one or more advertisements is further based on the indication of theat least one zone.
 17. The social-media computing system of claim 15,wherein determining the one or more advertisements is further based on apreviously received playback data comprising a previous indication of atleast one zone of the media playback system in which media waspreviously played back.
 18. The social-media computing system of claim17, wherein determining the one or more advertisements is further basedon the previous indication of the at least one zone in which media waspreviously played back.
 19. The social-media computing system of claim15, wherein the playback data comprises a timestamp corresponding to theplayed back media, and wherein determining the one or moreadvertisements is further based on the timestamp.
 20. A methodcomprising: receiving, by a social-media computing system from a mediaplayback system, playback data indicating media that is being playedback by the media playback system, wherein the playback data comprisesan indication of at least one zone of the media playback system in whichthe media is being played back; and based on the received playback data,updating social-media data in a social-media account, wherein theupdated social-media data comprises an indication of the at least onezone in which the media is currently being played back.